﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

///<Summary>
///This is the base object of my Engine, anything that needs to be rendered should be derived 
///from this class.Its like an empty conatiner, just fill it with whatever you want and do as you like
///Sprite, AnimatedSprite,PhysicsSprite are like your tools, you use them to make custom objects 
///Suppose you want to make a vehicle so you need to 3 physics sprite
///1 for chasis and 2 for tyres
///So you make a class Vehicle : GameObject
///and add 3 physics Srpite objects as member variables of Vehicle Class and do as you want in Vehicle's
///Update() and Draw()
///</Summary>

namespace Imagine
{
    public class GameObject
    {
        public GameObject()
        {
            id = TotalGameObjects;
            ++TotalGameObjects; 
        }
        public virtual bool Update(GameTime time) { return true;    }
        public virtual bool Draw(GameTime time)   { return true;    }
        
        public          int Flags;
        public          int RenderLayer;
        public          int id;
        static public   int TotalGameObjects;

    }
}
